package com.ys.day29.Reflect.p1Class加载器的了解与使用;

/**
 * 描述: TODO
 *
 * @author CodeYang
 * @version 2021/1/9 15:08
 */
public class P1什么是反射 {


    /**
     * Java的反射充分借鉴了物理学的反射，JDK反射的作者是一个大学的物理老师。
     *
     * Java中的反射依赖于入射，什么是Java的入射？一个字节码使用类加载器(ClassLoader)加载到JVM成功就是入射。
     * 入射成功的标志有是什么？在元空间中成功创建一个跟字节码文件对应的Class对象就表示入射成功了。
     *
     * Java中的反射是什么？建立在入射基础上，在程序运行过程中可以动态的获取Class对象的信息，创建Class类型的对象，调用对象的方法。
     *
     * 入射方法也分为3种:
     * Java支持三种类加载器
     *
     * BootStrapLoader：用C与语言和C++编写的类加载器，它是JVM最顶层的类加载器
     *
     * ExtClassLoader：可扩展的类加载器
     *
     * AppClassLoader：普通应用程序的类加载器
     *
     * 每一种类加载器可以加载哪些字节码文件呢？
     *
     * BootStrapLoader：负责加载  JDK安装路径\jre\lib目录下的所有字节码 ，这些字节码全部包装在jar文件中
     *
     * ExtClassLoader：  负责加载  JDK安装路径\jre\lib\ext目录下的所有字节码 ，这些字节码全部包装在jar文件中
     *
     * AppClassLoader：负责加载当前工程ClassPath路径下面所有的字节码文件
     */
}
